<?php
class Fecha
{
	var $fecha="";
	
	function __construct()
	{
		switch(func_num_args())
		{
			case 0: $this->set();break;
			
			case 1:	if(trim(func_get_arg(0)) =="")return;
					$this->set( func_get_arg( 0 ) );
					break;
		}
	}
	
	function set(){
		switch(func_num_args())
		{
			case 0: $this->set(date("Y-m-d"));return;
			
			case 1:	if(trim(func_get_arg(0)) =="")return;
					$this->fecha=func_get_arg(0);
					return;
		}
	}
	function get(){
		return $this->fecha;
	}
	function getDia(){
		$fecha_array=explode("-",$this->fecha);
		return $fecha_array[2];
	}
	function getMes(){
		$fecha_array=explode("-",$this->fecha);
		return $fecha_array[1];
	}
	function getAno(){
		$fecha_array=explode("-",$this->fecha);
		return $fecha_array[0];
	}
	#obtener el dia en espanol
	function getDiaText(){

		$diita=date("D",mktime(0,0,0,$this->getMes(),$this->getDia(),$this->getAno()));
		switch($diita)
		{
			case "Sun": return "Domingo "; 
			case "Mon": return "Lunes ";
			case "Tue": return "Martes ";
			case "Wed": return "Mi&eacute;rcoles ";
			case "Thu": return "Jueves "; 	
			case "Fri": return "Viernes "; 	
			case "Sat": return "S&aacute;bado ";												
		}
	}
	function getMesText(){
		switch($this->getMes())
		{
			case "01":  return "enero";
			case "02":  return "febrero";
			case "03":  return "marzo";
			case "04":  return "abril";
			case "05":  return "mayo";
			case "06":  return "junio";
			case "07":  return "julio"; 
			case "08":  return "agosto";
			case "09":  return "septiembre"; 
			case "10":  return "octubre";													
			case "11":  return "noviembre"; 																																		
			case "12":  return "diciembre";																				
		}
	}
	
	function toString(){
		return $this->getDiaText()." ".$this->getDia()." de ".$this->getMesText().", ".$this->getAno();
	}
	function toMDA()
	{#recibe '2007-12-23'
	#retorna '12-23-2007'
		return $this->getMes()."-".$this->getDia()."-".$this->getAno();
	}
	function toDMA(){
		return $this->getDia()."-".$this->getMes()."-".$this->getAno();
	}
	function toAMD(){
		return $this->get();
	}
	
	/*function fechaDojofechatoAMD()
	{
		$fecha_array=explode(" ",$this->fecha);
		$fecha=$fecha_array[2]."-";
	
		switch($fecha_array[0])
		{
			case "Jan":  $fecha.= "01"; break;
			case "Feb":  $fecha.= "02"; break;
			case "Mar":  $fecha.= "03"; break;
			case "Apr":  $fecha.= "04"; break;
			case "May":  $fecha.= "05"; break;
			case "Jun":  $fecha.= "06"; break;
			case "Jul":  $fecha.= "07"; break;
			case "Aug":  $fecha.= "08"; break;
			case "Sep":  $fecha.= "09"; break; 
			case "Oct":  $fecha.= "10"; break;											
			case "Nov":  $fecha.= "11"; break; 																																		
			case "Dec":  $fecha.= "12"; break;	
		}
		$fecha.="-".$fecha_array[1];
		return $fecha;
	}*/
	static function fecha()
	{
		$j=new Fecha();
		return $j->toString();
	}
}
?>
